<?php

/**
 * Subclass for performing query and update operations on the 'am_medicamento' table.
 *
 * 
 *
 * @package lib.model
 */ 
class AmMedicamentoPeer extends BaseAmMedicamentoPeer
{
  public static function loadDataFromFile($eliminarRegistrosAnteriores=false)
  {
    if($eliminarRegistrosAnteriores)
      AmMedicamentoPeer::doDeleteAll();
    $resultado = array();
    $totalRegistros=0;
    $criteria = new Criteria();
    $criteria->add(CtControlPeer::CODIGO_ARCHIVO,'AM%', Criteria::LIKE);
    $archivoControl = CtControlPeer::doSelectOne($criteria);
    $archivo = @file(sfConfig::get('sf_upload_dir')."/".$archivoControl->getCodigoArchivo().'.TXT');
    if($archivo)
    {
      foreach ($archivo as $line_num => $line)
      {
        $datos = explode(",", $line);
        $objeto = new AmMedicamento();
        $objeto->setFacturaNumero(trim($datos[0]));
        $objeto->setEntidadPrestadoraId(trim($datos[1]));
        $objeto->setTipoIdentificacionId(trim($datos[2]));
        $objeto->setUsUsuarioId(trim($datos[3]));
        $objeto->setNumeroAutorizacion(trim($datos[4]));
        $objeto->setCodigoMedicamento(trim($datos[5]));
        if(trim($datos[6]) == '')
          $objeto->setTipoMedicamentoId(null);
        else
          $objeto->setTipoMedicamentoId(trim($datos[6]));
        
        
        
        $objeto->setNombreMedicamento(trim($datos[7]));
        $objeto->setFormaFarmaceutica(trim($datos[8]));
        $objeto->setConcentracion(trim($datos[9]));
        $objeto->setUnidadDeMedida(trim($datos[10]));
        $objeto->setNumeroUnidades(trim($datos[11]));
        $objeto->setValorUnitario(trim($datos[12]));
        $objeto->setValorUnitarioNumero(trim($datos[12]));
        $objeto->setValorTotal(trim($datos[13]));
        $objeto->setValorTotalNumero(trim($datos[13]));
        
        if($objeto->save())
          $totalRegistros++;
      }
      $resultado['informacion']['AM']['registros-grabados'] = $totalRegistros;
    }
    else
      $resultado['errores']['AM'] = array('No se pudo leer el archivo '.$archivoControl->getCodigoArchivo());
    return $resultado;
  }
}
